package com.im.service.measureReport.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.im.service.dto.Contract;
import com.im.service.dto.ContractClause;
import com.im.service.dto.ContractItem;
import com.im.service.dto.ImplementProject;
import com.im.service.dto.MeteDeclare;
import com.im.service.dto.SearchOption;
import com.im.service.model.ContractItemVo;
@Mapper
public interface IMeasurementReportDAO {
  public List<ContractItemVo> queryContractItem(Map<String, Object> param);

  public List<ImplementProject> queryImplProject();

  public List<Contract> queryContractListByImplProject(ImplementProject implementProject);

  public List<ContractClause> queryContractClauseListByContract(Contract contract);

  public List<ContractItem> queryContractItemListByContractClause(ContractClause contractClause);

  public List<ContractItem> queryContractItemInfo(ContractItem contractItem);

  public int addMeasureReport(MeteDeclare meteDeclare);

  public int updateContractItemPayment(MeteDeclare meteDeclare);

  public int updateMeasureReport(MeteDeclare meteDeclare);

  public int delMeasureReport(MeteDeclare meteDeclare);

	public List<ContractItemVo> queryExamineContractItem(@Param("contractItemVo") ContractItemVo contractItemVo,
			@Param("searchOption") SearchOption searchOption);

	public int examineMeasureReport(MeteDeclare meteDeclare);

	public List<ContractItemVo> queryContractItemDetailByContractId(Contract contract);
}
